package org.ftc.enums;

import org.apache.commons.lang3.StringUtils;


public enum FileType {

	a00("增補"), //
	a01("本文"), //
	a02("處分書稿"), //
	a03("決定書稿"), //
	a11("函稿"), //
	b00("確認單"),
	b01("決議"),
	d01("不同意見書"),
	b02("協同意見書"),
	e01("奉核簽"),
	e02("新聞稿"),
	e03("提案要點"),
	f01("擬辦單"),
	g("附件"),
	p01("修正後本文"),
	p02("修正後處分"),
	p03("修正後決定"),
	q01("修正後"),
	q02("修正後"),
	shcedule("目次表"),
	all("完整檔案");

	final String name;

	FileType(final String name) {
		this.name = name;
	}

	public String getName() {
		return name;
	}
	
	/**
	 * 以案號&檔名核對已定義enum
	 * @param motionNo 案號
	 * @param name 檔名
	 * @return
	 */
	public static String lookUpName(String motionNo,String name){
		String newNo = StringUtils.leftPad(motionNo, 8, "0");// 補滿八碼
		for(FileType fileType :FileType.values()){
			String enumName = String.format("%s_%s", newNo,fileType.name());
			String fileName = StringUtils.substringBefore(name, ".");
			if(StringUtils.equals(enumName, fileName)){
				return fileType.getName();
			} else if(StringUtils.startsWith(fileName, enumName) && StringUtils.equals(fileType.name(), g.name())){
				return fileType.getName()+StringUtils.substringAfter(fileName, g.name());
			}
		}
		return "";
	}
	
	public static void main(String[] args){
		System.out.println("006003x1_g01".matches("006003x1_g"));
	}

}